package com.imc.platform.base.menu.dao.mapper;

import com.imc.platform.base.menu.pojo.Menu;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface IMenuMapper {
    /**
    *QY 2018/8/23 13:58
    *方法描述：根据用户id查询菜单
    **/
    List<Menu> queryMenuByUserId(String userId);

    /**
    *QY 2018/9/10 15:27
    *方法描述：获取上级url地址
    **/
    Menu getMenuByMenuUrl(String menuUrl);

    /**
    *QY 2018/8/31 16:16
    *方法描述：查询所有菜单
    **/
    List<Menu> queryMenuAll();

    /**
    *QY 2018/9/10 15:28
    *方法描述：根据角色ID获取角色与菜单的关联
    **/
    List<String>queryRoleMenuByRoleId(String roleId);

    /**
    *QY 2018/9/10 15:28
    *方法描述：添加菜单
    **/
    int addMenu(@Param("parm") Map<String,Object> parm);

    /**
    *QY 2018/9/10 15:28
    *方法描述：根据菜单ID修改菜单
    **/
    int updateMenuByMenuId(@Param("parms")Map<String,Object> parms);

    /**
    *QY 2018/9/10 15:29
    *方法描述：根据菜单ID获取与他有关联的节点ID
    **/
    List<String> queryMenuIdBylastId(String id);

    /**
    *QY 2018/9/10 15:30
    *方法描述：批量删除菜单ID
    **/
    int delMenuById(@Param("parms") List<String>parms);

    /**
    *QY 2018/9/29 17:44
    *方法描述：根据菜单名称校验名称是否存在
    **/
    int queryIsNameRep(String menuName);

    /**
    *QY 2018/9/29 22:53
    *方法描述：根据菜单ID查询菜单信息
    **/
    Menu queryMenuByMenuId(String menuId);

    String queryMenuSnByParentId(String parentId);
}
